package com.sjms._02_创建_工厂方法;

/**
 * 工厂方法模式解决：满足 OCP原则，对外修改关闭，对内扩展开放
 * <p>
 * 比如：出现了新款咖啡类
 * 旧的咖啡类代码不需要变动，只需要
 * <p>
 * 1.新增对应的咖啡类
 * 2.修改工厂类，新增一行判断逻辑
 * 3.main方法中的旧代码不需修改，只需要新增一行代码 工厂类.create(咖啡类型)
 */
public class _Test {

    public static void main(String[] args) {

        Coffee xbk = CoffeeFactory.createCoffee("星巴克");

        Coffee qc = CoffeeFactory.createCoffee("雀巢");

        Coffee nls = CoffeeFactory.createCoffee("牛栏山");


        //        Coffee ? = CoffeeFactory.createCoffee("???");
        //        Coffee ? = CoffeeFactory.createCoffee("???");
        //        Coffee ? = CoffeeFactory.createCoffee("???");

    }

}
